Tengo prueba simple. Todo lo que hace es proporcionar datos en el campo de entrada y enviarlos:
it('Try to change email', () => { cy.login({email: Cypress.env('basicemail'), password: Cypress.env('changepassword')}) cy.wait(2500) cy.get('nav > .account-info > div > img').click() cy.get('aside > ul > :nth-child(5) > a').click() cy.wait(2500) cy.get('a').contains('Change email').click() cy.get('input[name="newEmail"]').clear().type(Cypress.env('changeemail')) cy.get('input[name="newEmailConfirm"]').clear().type(Cypress.env('changeemail')) cy.get('input[name="changeEmailPassword"]').clear().type(Cypress.env('changepassword')) cy.get('a').contains('Confirm').click() cy.get(':nth-child(5) > .settings-modal-wrapper > .button').click() // HERE IS ERROR cy.get('.modal-description').contains(`Email with confirmation link has been sent to ${Cypress.env('changeemail')}. Please follow instruction from the email.`) cy.get('.modal-header > img').click() cy.get('aside > ul > :nth-child(7) > a').click() })Y después de hacer clic en el botón, obtengo 3 de esos errores:
Error: [vee-validate] Validating a non-existent field: "#8". Use "attach()" first.
Error: [vee-validate] Validating a non-existent field: "#9". Use "attach()" first.
Error: [vee-validate] Validating a non-existent field: "#10". Use "attach()" first.
En realidad, no tengo idea de lo que significa, estaba tratando de averiguarlo, pero no hay información al respecto.
Así es como se ve en la consola:
He resuelto este problema. En realidad, ni siquiera se trataba de front, sino de mi API.
El problema es que Cypress elimina todo de localStorage cuando visita otra página, por lo que tuve que hacer algunas acciones para guardarlo en localStorage : inicie sesión una vez más.
Entonces, tenga cuidado con esto, el problema podría estar en la API, no en el frente.